package com.ebs.md.fxmonitor.client.api;

/**
 * <p>Title: Netlink</p>
 *
 * <p>Copyright: Copyright (c) 2004</p>
 *
 * <p>$Id: //depot/MarketData/fxmonitor/main/src/main/java/com/ebs/md/fxmonitor/client/api/NetlinkFixConstants.java#7 $ </p>
 * <p>$DateTime: 2012/08/16 11:31:52 $ </p>
 * <p>$Revision: #7 $ </p>
 * <p>$Change: 113276 $ </p>
 * <p>$Author: Arik.Sher $ </p>
 */
public final class NetlinkFixConstants {
	
	private NetlinkFixConstants() {}
	
//fix message type custom enum
    public static final String TypeCustomRequest = "URQ";
    public static final String TypeCustomResponse = "URS";

//subtype enum
    public static final String SubtypeSubscription = "S";
    public static final String SubtypeSubscriptionResponse = "SR";
    public static final String SubtypeTakerMain = "T";
    public static final String SubtypeMakerMain = "M";
    public static final String SubtypeTakerAux = "AT";
    public static final String SubtypeMakerAux = "AM";
    public static final String SubtypeTakerRecovery = "RT";
    public static final String SubtypeMakerRecovery = "RM";
    public static final String SubtypeTakerFull = "FT";
    public static final String SubtypeMakerFull = "FM";

    public static final String SubtypeFloorVerify = "FV";
    public static final String SubtypeFloorVerifyResponse = "FVR";
    public static final String SubtypeCurrencyVerify = "CV";
    public static final String SubtypeCurrencyVerifyResponse = "CVR";
    public static final String SubtypeConnectionStatus = "CS";
    public static final String SubtypeConnectionStatusResponse = "BD";

//custom fields
    public static final String TAGSubtype = "5570";
    public static final String TAGUpstreamMessageTime = "5560";
    public static final String TAGUpstreamSequenceNum = "5561";
    public static final String TAGUpstreamSessionNum = "5562";

    public static final String TAGDealCode = "5577";
    public static final String TAGFloorKey = "5578";
    public static final String TAGCurrency = "5579";

    public static final String TAGDealCodeValid = "5580";
    public static final String TAGCurrencyValid = "5581";
    public static final String TAGFloorKeyValid = "5582";
    public static final String TAGNumberOfFloors = "5583";
    public static final String TAGNumberOfCurrencies = "5584";
    public static final String TAGSubscriptionStatus = "5585";
    public static final String TAGClientProtocolVersion = "5586";
    public static final int TAGiClientProtocolVersion = 5586;
    public static final String  TAGMakerPBTicketId = "5587";
    public static final int    TAGiMakerPBTicketId =  5587 ;
    public static final String  TAGTakerPBTicketId = "5588";
    public static final int    TAGiTakerPBTicketId =  5588 ;
    // TAGMDDisplaySize, since FXSM 2.1.1 - support Iceberg
    // type is Amount
    public static final String  TAGMDDisplaySize = "5589";
    public static final int    TAGiMDDisplaySize =  5589 ;
    // TAGAmending, since FXSM 2.1.2. 
    // type is Literal
    // states that IncrementalRefresh is AmendType.
    public static final String  TAGAmending = "5590";
    public static final int    TAGiAmending =  5590 ;
    // TAGIsIceberg, since FXSM 2.1.3. 
    // type is Boolean (values: "Y" , "N")
    // states whether that quote is Iceberg one. default should be false.
    public static final String  TAGIsIceberg = "5591";
    public static final int    TAGiIsIceberg =  5591 ;

    
    public static final String TAGTakerTicketId = "5575";
    public static final String TAGMakerTicketId = "5567";
    public static final String TAGTakerDealCode = "5572";
    public static final String TAGMakerDealCode = "5564";
    public static final String TAGTakerPBCode = "5573";
    public static final String TAGMakerPBCode = "5565";
    public static final String TAGIsTakerPC = "5571";
    public static final String TAGIsMakerPC = "5563";
//    String TAGSide = "";
//    String TAGCcyPair = "";
//    String TAGInstrument = "";
    public static final String TAGTenor = "5459";
//    String TAGDealtAmount = "";
//    String TAGDealtRate = "";
    public static final String TAGTakerRegion = "5574";
    public static final String TAGMakerRegion = "5566";
    public static final String TAGDealCompletionTime = "";
    public static final String TAGMakerDealStatus = "5569";
    public static final String TAGTakerSpreadDealtRate = "5576";
    public static final String TAGMakerSpreadDealtRate = "5568";
    public static final String TAGBasketAttempt = "5309";
    public static final String TAGTakerTransID = "5371";
    public static final String TAGMakerTransID = "5372";
//    String TAGValueDate = "";
//    String TAGTradeDate = "";
//    String TAGSettlementDate = "";
//    String TAGFixingDate = "";

//subscription enum
    public static final int SubtypeSubscription_Valid = 0;
    public static final int SubtypeSubscription_Partial = 1;
    public static final int SubtypeSubscription_InValid = 2;

//verification/subscription
    
    /**
     * defining it here because it's since version 5.0.
     * while our FixEngine(cameron) is 4.1
     * @see http://fixprotocol.org/FIXimate3.0/en/FIX.5.0SP2/tag1177.html
     */
    public static final int    TAGiNoOfSecSizes =  1177 ;
    public static final String  TAGNoOfSecSizes = "1177";
    /**
     * defining it here because it's since version 5.0.
     * while our FixEngine(cameron) is 4.1
     * @see http://fixprotocol.org/FIXimate3.0/en/FIX.5.0SP2/tag1178.html
     */
    public static final int    TAGiMDSecSizeType =  1178 ;
    public static final String  TAGMDSecSizeType = "1178";
    /**
     * defining it here because it's since version 5.0.
     * while our FixEngine(cameron) is 4.1
     * @see http://fixprotocol.org/FIXimate3.0/en/FIX.5.0SP2/tag1179.html
     */
    public static final int    TAGiMDSecSize     =  1179 ;
    public static final String  TAGMDSecSize     = "1179";
    
	/**
	 * for MDSecTypeSize see
	 *
	 * @see http://fixprotocol.org/FIXimate3.0/en/FIX.5.0SP2/tag1178.html
	 * @see http://fixprotocol.org/FIXimate3.0/en/FIX.5.0SP2/tag1179.html
	 */
    public static final int MDSecSizeType_Delta     = 3; // Available Delta. could be negative. used via QTE AMEND (Reduce). if 0 than no amount ammendement
	public static final int MDSecSizeType_Total     = 4;
	public static final int MDSecSizeType_Display   = 5; // used since Iceberg

}
